from selenium import webdriver
from selenium.webdriver import ActionChains
import time

browser = webdriver.Chrome('chromedriver.exe')
browser.get("http://127.0.0.1:8080/login/")

#测试能否获取
#获取源代码
md = browser.page_source
with open('md.html','w',encoding='utf-8') as f:
    f.write(md)


# #获取登录用户名输入框
login_user = browser.find_element_by_xpath('//*[@id="app"]/div/section/div/div[1]/input')
# #输入内容
login_user.send_keys('123')
time.sleep(2)

# #获取登录密码框
login_password = browser.find_element_by_xpath('//*[@id="app"]/div/section/div/div[2]/input')
# #输入密码
login_password.send_keys('123')
time.sleep(2)


#滑块
# 实例化一个action对象
# ActionChains是自动执行低级交互的一种方式，例如：鼠标移动，鼠标点按，键盘操作，文本操作等。
# 当我们调用这里的方法时，这些操作会被先储存在一个队列中，当我们调用perform()方法时，队列中的操作会被按顺序执行，执行后队列被清空。
action = ActionChains(browser)
# 找滑块
button = browser.find_element_by_xpath('//*[@id="app"]/div/section/div/center/div/div/div[3]')
# perform()用来执行所有存储在ActionChains中的动作
# source：鼠标拖动的原始元素
# xoffset：鼠标把元素拖动到另外一个位置的x坐标
# yoffset：鼠标把元素拖动到另外一个位置的y坐标
# 拖动source元素到指定的坐标
action.drag_and_drop_by_offset(button,259,0).perform()
time.sleep(3)

#提交登录
browser.find_element_by_xpath('//*[@id="app"]/div/section/div/button/span').click()

